function makeJSONRequest() {    
  var params = {};
  params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
  var url = "http://img.livetv.ru/rss/gadget_ru.xml";
  
  // сброс кеша
  refreshInterval = 0;
  var ts = new Date().getTime();
  var sep = "?";
  if (refreshInterval && refreshInterval > 0) {
    ts = Math.floor(ts / (refreshInterval * 1000));
  }
  if (url.indexOf("?") > -1) {
    sep = "&";
  }
  url = [ url, sep, "nocache=", ts ].join("");
  /////////////////////////////////////////////////////////////////
  
  gadgets.io.makeRequest(url, response, params);
};

function response(obj) { 
  var jsondata = obj.data;
  var html = "<table>";
  var cnt = 0;
  var dt_cur = new Date();
  
  for (var i = 0; i < jsondata.length ; i++){   
    var msec_start = parseInt(jsondata[i].datetime) * 1000;
    var dt_start   = new Date(msec_start);
    var dt_end     = new Date(msec_start + parseInt(jsondata[i].actiontime) * 60 * 1000);
    
    if(dt_cur < dt_end){    
      html += '<tr><td width="30">';
      html += '<img src="http://img.livetv.ru/img/icons/' + jsondata[i].icon + '.gif">';
      html += '</td><td>';
      html += '<a href="http://livetv.ru/eventinfo/' + jsondata[i].id + '/" target="_blank">' + jsondata[i].title + '</a>'; 
      if(dt_cur > dt_start){
        html += '<img src="http://img.livetv.ru/img/live.gif">';
      }
      html += '<br/>';
      html += '<span class="gray">' + jsondata[i].sport + '. ' + jsondata[i].competition + '<br>' + dt_start.toLocaleString() + '</span>';
      html += '</td></tr>';
      cnt++;
    }    
  }
  
  if(!cnt){
    html += '<tr><td>На данный момент нет доступных трансляций.</td></tr>';
  }
  
  html += '</table>';   
  document.getElementById('content_div').innerHTML = html;
 };
     
gadgets.util.registerOnLoadHandler(makeJSONRequest);